home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / util / blank / bserver_v14.lha / BServer_v1.4 / Sources.lha / Sources / server / commodity.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-23  |  2.0 KB  |  117 lines

  1. #include <exec/types.h>
  2. #include <exec/memory.h>
  3. #include <libraries/commodities.h>
  4. #include <libraries/gadtools.h>
  5. #include <dos/dos.h>
  6. #include <workbench/startup.h>
  7. #include <stdio.h>
  8. #include <string.h>
  9.  
  10. #include <proto/exec.h>
  11. #include <proto/commodities.h>
  12. #include <proto/gadtools.h>
  13. #include <proto/dos.h>
  14. #include <proto/icon.h>
  15. #include <clib/alib_protos.h>
  16.  
  17. #include "/include/server.h"
  18.  
  19. extern BOOL PopUp, CommodityActive, RandomClient, StayCool;
  20. extern struct Window *window;
  21.  
  22. extern BOOL PopUpWindow( void );
  23. extern void ShutWindow( void );
  24.  
  25.  
  26.  /******************
  27.  *                 *
  28.  * GENERAL UTILITY *
  29.  *                 *
  30.  ******************/
  31.  
  32.  
  33. void ClearPendingMessages( struct MsgPort *mport )
  34. {
  35. struct Message *msg;
  36.  
  37. while ( msg = GetMsg( mport ) )
  38.     ReplyMsg( msg );
  39. }
  40.  
  41.  
  42.  /******************
  43.  *                 *
  44.  * COMMODITY STUFF *
  45.  *                 *
  46.  ******************/
  47.  
  48. #define EVT_HOTKEY 1L
  49.  
  50. struct Library *CxBase, *IconBase;
  51. struct MsgPort *broker_mp;
  52. CxObj *broker, *filter, *sender, *translate;
  53.  
  54. ULONG CXSignal;
  55.  
  56. struct NewBroker newbroker = {
  57.     NB_VERSION,
  58.     PROGRAMNAME,
  59.     PROGRAMNAME" "PROGRAMVERSION" © 1995 by Stefano Reksten of 3AM",
  60.     "Simple server for screen blankers",
  61.     NBU_UNIQUE | NBU_NOTIFY,
  62.     COF_SHOW_HIDE, 0, 0, 0 };
  63.  
  64.  
  65. UBYTE brokerPri = 0;
  66. char hotkey[40] = "lalt b";
  67.  
  68. void HandleCxMessages( void )
  69. {
  70. CxMsg *msg;
  71. ULONG msgid, msgtype;
  72.  
  73. while(msg = (CxMsg *)GetMsg(broker_mp))
  74.     {
  75.     msgid = CxMsgID(msg);
  76.     msgtype = CxMsgType(msg);
  77.     ReplyMsg((struct Message *)msg);
  78.  
  79.     switch(msgtype)
  80.         {
  81.         case CXM_IEVENT:
  82.             if ( msgid == EVT_HOTKEY )
  83.                 PopUpWindow();
  84.             break;
  85.  
  86.         case CXM_COMMAND:
  87.             switch(msgid)
  88.             {
  89.             case CXCMD_DISABLE:
  90.                 ActivateCxObj(broker, 0L);
  91.                 CommodityActive = FALSE;
  92.                 break;
  93.             case CXCMD_ENABLE:
  94.                 ActivateCxObj(broker, 1L);
  95.                 CommodityActive = TRUE;
  96.                 break;
  97.             case CXCMD_KILL:
  98.                 StayCool = FALSE;
  99.                 break;
  100.             case CXCMD_UNIQUE:
  101.                 PopUpWindow();
  102.                 break;
  103.             case CXCMD_APPEAR:
  104.                 PopUpWindow();
  105.                 break;
  106.             case CXCMD_DISAPPEAR:
  107.                 ShutWindow();
  108.                 break;
  109.             }
  110.             break;
  111.  
  112.         default:
  113.             break;
  114.         }
  115.     }
  116. }
  117.